Contents
MapTrix 1.0 - Contents

Introduction

Changes

Menus

Functions

Keyboard

Scripts

Registration Information

Copyright

Contacting the author


Changes
1.00	April 1, 1995

Since this is the first version of MapTrix, there are no changes to report.


Functions

Harmony
Cross Waves
Flow
Harmony
Harmony-N
Radial
Flower

Natural
Clouds
Fire
Marble
Parkay
Swirl
Wood

Random
Bubbles
Circles
Cuts
Meander
Noiz
Noiz 2
Plasma
Static
Streaks
Waterfall

Process
Blur
Emboss
Matrix 3
Scramble
Trim Edges


Scripts
Using Scripts with MapTrix

MapTrix understands a very simple scripting language.  With the scripting language, it's possible to automate image generation, and especially, to create frames for animations.

Scripts are based on commands.  Commands are lines of text from a standard ASCII file.  There are four types of commands, some preceeded by a special character:

!	Commands. These are commands which let you change the size of the image, start the generation process, and other such "global" operations.  These operations are usually performed through the menu interface.  A few examples of Commands are:

!image 640 480
!load "c:\anim\pic001.bmp"

For a complete reference of Commands, see Commands.

/	Functions. You use the special / character on a line when you wish to change functions.  For example:

/cross_waves
/noiz2

There is one function command for each function type available in MapTrix.  For the most part, each function is spelled exactly as it appears in the list of functions in the upper left of the main MapTrix window.  The only difference is that spaces which appear in a function name have to be replaced by an '_' (underscore).  Notice the call for "/cross_waves" in the example above.

#	Comments. Any line which begins with a '#' symbol is ignored by the script processor.  Blank lines are also ignored.

(other).Any line of text which is not blank is treated as an "adjustment".  Adjustments let you change the actual parameters of a function.  To reference a certain parameter, just use it's name, followed by an appropriate number or option. (The names of each parameter appear just to the left of the control when that function is active.)  For example:

/cross_waves
frequency_1 1.0
frequency_2 1.0
!generate
frequency_1 1.1
frequency_2 1.1
!generate

The preceeding lines which have no control character are setting parameters associated with the Cross Waves function.  Notice how the '_' (underscore) is added where there should be a space.

You can also choose a setting from a drop-down combo box by using the actual text of the option, rather than a number.  For example:

/clouds
mode normal	<<

The Clouds function has a 'Mode' parameter which can be either 'Normal' or 'Symmetrical'.  This example sets the mode to 'Normal'.


Commands
Command Reference

Commands are used in scripts.  Any line in a script file which starts with a ! is a command.  These commands allow you to change the image size, start generating the image, or perform special macro tasks, such as looping one parameter through an frame sequence.

To abort a script in progress, press the 'Esc' key.

!Generate	This command starts generating the image using the currently selected function.  To abort generation, make sure MapTrix is the current window and press 'Esc'.

!Wave_Type	This command lets you set the current type of wave to use for image generation.  After the command you will need to supply the actual text of the wave type desired, i.e. Cosine, Cosine2, Bump, or 1-Cosine.  See the 'Wave Type' menu for the types of waves allowed.

!Plot_Mode	This command lets you change the plot mode used when setting the pixels in an image.  You will need to supply the name of the plot mode after this command, i.e., Normal, Mix25, or Modulus.

!Image	Set the width and height of an image.  To set the image size to 640x480 pixels, use !Image 640 480.

!Save	Save the current image in the image buffer.  You must supply a legal MS-DOS path and filename.  For example:  !save c:\anim\frames\pic01.bmp.

!Load	Loads an image from disk.  You must supply a legal MS-DOS path and filename.  For example:  !load c:\anim\frames\pic01.bmp.

!Exit	Terminates execution of the script.  The script will normally end at the end of the script file, but you can use this to end execution early.

!Reset	Resets the auto-animation frame count to 1.

!SetFrames	Sets the total number of frames to create in an auto-animation sequence.

!SetAutoSave	This sets the base of the filename to use when using the auto-animation feature.  You will need to supply a full path and the baseof the filename.  For example, use c:\anim\frames\pic as a base filename.  As MapTrix saves the auto-animation images, it will change the base filename to c:\anim\frames\pic0001.bmp for the first image, and c:\anim\frames\pic0002.bmp for the second image, and so on.

!AutoSave	Forces an image save while not using the 'AnimLoop' feature.  The filename is created by appending the current frame number to the SetAutoSave parameter, explained above.

!SetBump	The setbump command tells MapTrix which parameter will change, and by how much, with each frame generated.  For example, to have MapTrix automatically change the Offset parameter of a function, use the form:  !SetBump Offset .1,

!Bump	Causes an immediate change of parameter defined in the 'SetBump' command, detailed above.

!AnimLoop	Starts an animation creation sequence.  To use this feature you first need to set the number of frames in the animation with the '!SetFrames' command.  Then, you need to set the base filename with the '!SetBase' command.  Finally, you need to set the '!SetBump' command.  For examples of using !AnimLoop, see the samples in the 'Scripts' directory, located in the 'MapTrix' main directory.

Both AnimLoop and MultiAnimLoop now include a filename generation feature.  Using the base name of the output image files (see !SetBase), MapTrix creates a script file which stores the names of each animation frame (including it's path).  This makes it a simple matter to create animations in an effortlessway - simply use this generated file as the input for an animation creation program.

!MultiSetBump	The !MultiSetBump command tells MapTrix which parameters will change, and by how much, with each frame generated.  This function is exactly the same as the SetBump command, detailed above, but lets you define more than one moving parameter for each frame in an animation sequence.  As an example, to have MapTrix automatically change a number of parameters for each frame, such as the offset, cloud thickness and finally generation of a sequence of cloud images, you could use the following format:

/clouds
!setframes 50
!setautosave c:\anim\pic
!multisetbump clouds offset 0.0 .1 1.0
!multisetbump clouds thickness 1.1 .02 1.25
!multisetbump clouds generate 0.0 0.0 1.0
!multianimloop

Lets examine this script line by line to see what's happening with it.  First, we set the function we will be using - clouds with the /clouds statement.

Next, we tell MapTrix we will be generating 50 frames with the "!SetFrames 50" command.

Now, we need to tell MapTrix where to store these images with the "!SetAutoSave" function, where we supply a base path.  Each image generated will be saved with this base filename (plus the frame number and the .BMP extension.)
Next, we have the first MultiSetBump command, which sets the 'offset' bump.  (It could have been any paramater for any function, but this example just happens to use the 'offset' parameter).  This line sets the initial state of the 'offset' value to 0.0, and tells MapTrix to add 0.1 to the offset after generating each frame.
We do the same for the 'thickness' setting, but use slightly different values.  We initialize it to 1.0, and tell MapTrix to increase this value by 0.02 for each frame.  However, we have also set an acceleration value of 1.25, which means that each frame will have slightly more 'thickness' than the next.
Lastly, we set a MultiSetBump parameter for the 'generate' operation.  This is needed since MapTrix doesn't know when to generate the image with the MultiBump method.
Finally, we call the MultiAnimLoop function, which proceeds to create 50 frames of the animation, changing the parameters as it goes.

Notice how you need to have the generate "function" in the multisetbump feature.  Since MapTrix doesn't know how many parameters you want to change (you can alter up to 20 with the MultiSetBump function), you need to tell the software when to generate the image.  Saving is handled automatically after all MultiSetBump's have been processed.

Also notice the extra parameters for each setting in the MultiSetBump command.  The first number is the starting value for the setting.  In the example above, 'offset' is initialized with the value 0.0.  The next number is the step value.  For each frame in the animation, the first value will be incrimented by this number.  The final number is an acceleration value.  The step value will be multiplied by this value after each frame is generated.  Acceleration works as follows:  For no acceleration, use the value 1.0.  For increasing speed, (or acceleration of the effect), use a number larger than 1.0.  For decreasing speed, use a number less than 1.0.  In this example, only the cloud thickness is accelerated.  The acceleration value (1.25) is quite large, and is needed to make the clouds "thicken" to an acceptable level.

The MultiSetBump feature also allows using more than one function to create each image.  Notice how each line of the MultiSetBump example includes the name of the function to use.  This allows calling different functions for each frame (MapTrix automatically switches to these functions for each frame of the animation created).

!MultiAnimLoop	Starts an animation creation sequence.  To use this feature you first need to set the number of frames in the animation with the '!SetFrames' command.  Then, you need to set the base filename with the '!SetBase' command.  Finally, you need to set the '!MultiSetBump' command.  For examples of using !MultiAnimLoop, see the samples in the 'Scripts' directory, located in the 'MapTrix' main directory.

Both AnimLoop and MultiAnimLoop now include a filename generation feature.  Using the base name of the output image files (see !SetBase), MapTrix creates a script file which stores the names of each animation frame (including it's path).  This makes it a simple matter to create animations in an effortlessway - simply use this generated file as the input for an animation creation program.


Introduction

MapTrix is an image creation tool.  The software makes it possible to model natural phenomena such as clouds, wood and marble, as well as unnaturalimagery, which is nice for multi-media backdrops or texture maps.

MapTrix makes heavy use of a concept called Fractal Noise.  This is a type of random-based function which produces a textured pattern.  Generally, fractal noise can produce images which exhibit a wide range of graphic design principles: contrast, repitition, size variance, and chirascuro.  If you're curious about what fractal noise looks like, run MapTrix and select the Noise function from the list in the upper left, then click the 'Preview' button at the lower left.  The image produced is a direct application of fractal noise.

There is a long technical  defintion of what fractal noise is, but for the purposes of this software, all you need to know is that you can control the function with a few key elements.  First, there's the "noise seed".  This is an interger number which generates the same noise pattern for the same number.  Change the seed value and you can get a different noise pattern.  Next is the "Octaves".  This value effects how much detail is generated by the noise function.  To create more detail, the noise function must be repeated several times for each pixel in the image.  Octaves sets the number of times the function is repeated.  Finally, we have the "NScale" parameters.  These values scale the input values to the noise function.  Larger NScale values create smaller "clumps" in the noise function.  MapTrix lets you change these scale values independently on either the X axis or the Y axis.

To create many of it's images, MapTrix uses the fractal noise functions as the input for other functions.  This is a concept called function composition.  Normally, MapTrix uses a pixels X and Y coordinates as the input for the wave based functions (harmony).  With fractal noise, MapTrix augments the real X and Y coordinates of a pixel by the value returned from the noise function.

Also, the output of fractal noise can be scaled.  The fractal noise function always returns a value between 0 and 1.  We can scale the output of this function by some value to make the noise pattern have a greater effect on the wave function, or a lesser effect.  A scale value less than 1 will reduce the effect, while a value greater than 1 will increase the effect of the noise function.

MapTrix makes use of other image generation techniques besides fractal noise.  From pure randomness (static) to controlled randomness (waterfall), it's possible to create some very interesing imagery.

The key with this type of software is experimentation.  MapTrix comes with many pre-defined parameters for many of the functions.  Use the 'File/Load Parameters' to test some of these images.  (Each function has it's own set of pre-defined parameters.  To load parameters for any particular function, you need to first select that function from the list in the upper left).


Registration Form
MapTrix Registration

The registered version of MapTrix removes the bitmap size limitation.  Any size bitmap, up to that available in memory, is allowed.
To print a copy of this registration from, select 'Print Topic' from the file menu.
Print out and mail this form to the address at the bottom of the page.  Please allow 1-3 weeks for delivery.

Company____________________________________________

Name_______________________________________________

Address____________________________________________

City_______________________________________________

State_________

Zip___________

Phone___________________ (optional)

Quantity _______ x $24.00 each       = _______
                 x  $1.00 shipping   = _______

                                Total: _______

Please specify disk size:  3 1/2"____   5 1/4"_____

Check or Money Order only.  Make payable to 'The Art Machine'.  Payment must be in US funds drawn on a US bank.  For information on quantity discounts (3 or more), purchase orders or site license agreements, contact The Art Machine directly.  (see Contacting the Author.)

Send completed form and payment to:

            The Art Machine
            4189 Nickolas
            Sterling Heights, MI
            48310
            USA


Load Image

This menu option allows you to load a 256 color BMP image into the main buffer.  Only 232 colors of the image are actually used, to conform to MapTrix's internal representation of the image.


Save Image

This menu option allows you to save the current image as a 256 color BMP file.


Load Parameters

This menu option allows you to load a set of parameters from the main MapTrix .INI file.  You will only be shown a list of currently available parameters for the current function, if any exist.  MapTrix comes with many pre-defined parameters for you to experiment with.


Save Parameters

This menu option allows you to save the current set of parameters for the current function.  You can enter up to 30 characters to describe the parameters, and you may use spaces in the name.  However, you cannot use commas (,) in the name.


Run Script

MapTrix lets you create and run macro scripts.  These scripts offer a complete interface to all of MapTrix's functions.  There are even special functions available to create frames for looping animations.


Edit Script

With this menu option, you can choose to edit a MapTrix script (*.MTS file).


Exit

Use this menu option to quit MapTrix.


Undo

Use this menu option will undo the last image generation (or preview) function.


Attributes

Use this menu option allows you to change the size of the image to generate.  Once the size has changed, the old image will be lost.  In the demonstration version, the size of the image is limited to 160x100.


View

Use this menu option allows you to view the current image.


Generate

Use this menu option generates the current image, using the current function.  This is exactly the same as the 'Generate' button on the main window.  However, since the image may be displayed, this button may be covered by the image window.


Custom Color

Choose the menu option Custom/Edit to edit the palette by hand.  The palette window will appear, wherein you can modify the RGB values of the colors.  The palette window also allows copying, swapping and spreading colors, as well as loading, saving, contrast adjustment and reversing of the palette.


Fractal Palette

Fractal palettes are palettes with random colors which are smoothly blended together.  The Fractal 1 palette chooses two random colors, and blends them over the entire palette.  The Fractal 2 palette picks three random colors, blending them over the entire palette.  (The third color is located in the middle of the palette).  Whereas the Fractal 4 palette type uses 4 colors, creating a smooth gradient between them all.


Wave Types

Many functions in MapTrix allow you to choose a wave type for image creation.  Most functions which understand different wave types use the Noise function as a base.  Then, the noise values for each pixel on the screen are fed into a wave function, which produces the final color.

Different wave types have different characteristics.  The normal cosine wave (Cosine) creates a smooth undulating wave.  The cosine-squared wave (Cosine2) creates a bump wave which has longer "valleys" than the normal cosine wave.  the cosine-cubed function produces undulating waves which are somewhat flatter than the normal cosine waves.  Finally, the cosine-fourth wave (Cosine4) produces even longer "valleys" than the Cosine2 wave.

Other types of waves are available as well.  The Triangle wave is similar to the cosine wave, but it's angular instead of smooth.  The random wave produces a type of noise wave which repeats with the same characteristics as the other waves, but has no determinate shape.  This odd shape can be combined to create some fantastic imagery.


Plot Modes

When generating a new image, MapTrix lets you change how individual points are colored.  The default mode, Normal, simply replaces the current pixel with the new color.  The mix modes let you mix the new color with the existing color.  While the XOR and MODULUS modes allow for a binary combination of the two colors (both the original color and the newly computed color for each pixel.


Menus

File
Load Image
Save Image
Load Parameters
Save Parameters
Run Script
Edit Script
Exit

Edit
Undo

Image
Attributes
View
Generate

Palette
Custom Edit
Gray	Generates a smooth gray scale palette.
Blue	Generates a smooth blue scale palette.
Cyan	Generates a smooth cyan scale palette.
Green	Generates a smooth green scale palette.
Yellow	Generates a smooth yellow scale palette.
Red	Generates a smooth red scale palette.
Magenta	Generates a smooth magenta scale palette.
Fractal 1
Fractal 2
Fractal 4
Custom

Wave Type
see Wave Types

Plot Mode
Realtime Plot
see Plot Modes


Realtime Plot

With the realtime plot option turned on (the default state), MapTrix will plot individual pixels while the image is being generated.  With Realtime Plot turned off, no pixels will be plotted until the entire image is generated.  This is faster than plotting the individual pixels.


Copyright & Warranty Information

Copyright

MapTrix is Copyright (C) 1995, The Art Machine. All Rights Reserved.

Permission is granted to freely-distribute this demonstration version of MapTrix.

Warranty

MAPTRIX IS PROVIDED "AS-IS" AND WITHOUT WARRANTIES AS TO PERFORMANCE OR MERCHANTABILITY.  ANY STATEMENTS MADE ABOUT THE USES OF THIS SOFTWARE DO NOT CONSTITUTE WARRANTIES AND SHALL NOT BE RELIED ON BY THE BUYER IN DECIDING TO PURCHASE THIS PROGRAM.  THIS PROGRAM IS SOLD WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES WHATSOEVER.  BACAUSE OF THE DIVERSITY OF CONDITIONS AND HARDWARE UNDER WHICH THIS PROGRAM MAY BE USED, NO WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE IS OFFERED.  THE USER IS ADVISED TO TEST THE PROGRAM THOROUGHLY BEFORE RELYING ON IT.  THE USER MUST ASSUME THE ENTIRE RISK OF USING THE PROGRAM.  ANY LIABILITY OF SELLER/MANUFACTURER WILL BE LIMITED EXCLUSIVELY TO PRODUCT REPLACEMENT OR REFUND OF PURCHASE PRICE.


Contacting the author

You can contact The Art Machine via:

Postal Mail:

The Art Machine
4189 Nickolas
Sterling Heights, MI
48310
USA

Phone:

(810) 264-2110    (from 10:00am to 10:00pm EST)

Internet E-Mail: (Preferred)

adeburie@sycom.mi.org

Compuserve:

USERID: 75662,1711


Keyboard

The following keys are understood by MapTrix:

alt-g	Starts generating the image.

alt-p	Invokes the palette editor.

alt-u	Undoes the last image generation operation.

TAB	Invokes Color Cycling mode.  The position of the mouse determines the speed of the cycling.  The farther to the left the mouse pointer is located, the faster the color cycling will happen.

SHIFT	While editing values with the cycle controls, holding the shift key down will cause the values to change in larger jumps.  For integer settings, the values will jump by 2 for each click.  For floating point numbers, the values will change by 1.0.

CTRL	While editing values with the cycle controls, holding the control (CTRL) key down will cause floating point values to change by 1/100.  However, while editing integer values, this key will add or subtract 10 from the number in question.

ESC	While generating or viewing an image, the ESC key aborts the generation process and closes the generation window.

SPACE	While generating an image, the SPACE bar aborts the generation process, but leaves the generation window active.


Cross Waves

The Cross Waves function builds a number of waves on top of one another.  Noise is not used for this function.

By choosing frequency values which are whole numbers, the patterns created by Cross Waves are repeatable (tileable).

Frequency 1	This value determines the frequency of the final wave of the image generation process. (Recommended value: any whole number).

Frequency 2	The frequency of the second pass wave. (Recommended value: any whole number).

Frequency 3	The frequency of the third pass wave. (Recommended value: any whole number).

Frequency 4	The frequency of the fourth pass wave. (Recommended value: any whole number).

Frequency 5	The frequency of the fifth pass wave. (Recommended value: any whole number).

Frequency 3	The frequency of the sixth pass wave. (Recommended value: any whole number).

Amp 2	This value determines the amplitude of the second wave.  (Recommended value: -.3 to +.3).  (NOTE: There is no amplitude for the first wave - it is scaled to the total number of colors in the palette).

Amp 3	This value determines the amplitude of the third wave.  (Recommended value: -.3 to +.3).

Amp 4	This value determines the amplitude of the fourth wave.  (Recommended value: -.3 to +.3).

Amp 5	This value determines the amplitude of the fifth wave.  (Recommended value: -.3 to +.3).

Amp 6	This value determines the amplitude of the sixth wave.  (Recommended value: -.3 to +.3).

Offset	This value determines the phase offset of the waves.  Generally used when creating animation frames, changing this value from one frame to the next will cause the waves to move.  (Recommended value: 0.0 to 1.0).

Double Freqs	Pushing this button will double all frequency values.

Half Freqs	Pushing this button will halve all frequency values.

Double Amps	Pushing this button will double all amplitude values.

Double Amps	Pushing this button will double all amplitude values.


Flow

The Flow function combines 2 waves (one on the X axis and one on the Y axis).  The waves, when combined with noise, can be used to create images ranging from burlap material to wavy water.

When used with noise, this function is not tileable.  To turn noise off, set the 'Scale' value to 0.0.

Frequdncy	This value sets both the X and Y frequency values for the waves.  (Recommended value: any whole number).

Scale	This value sets the amount by which noise will be multiplied when fed to the wave function.  (Recommended value: 0.0 to turn off noise, or any other value to make use of noise in the image.).

Seed	Sets the noise seed value.  The same seed will produce the same noise field. (Recommended value: any whole number).

Octaves	This value sets the number of times the noise function will be called for each pixel.  Noise is fairly processor intensive, and setting this value too high will drastically slow down the image generation process.  Generally, the larger the image, the larger this value will need to be.  (Recommended value: whole numbers from 2 to 5, or perhaps 6 for extremely large images).

NScale X	This value sets the scale of the noise function on the X axis.  The larger this number, the smaller the "clumps" in the noise field will appear.  (Recommended value: any real number from .5 to 10.0).

NScale Y	This value sets the scale of the noise function on the Y axis.  The larger this number, the smaller the "clumps" in the noise field will appear.  (Recommended value: any real number from .5 to 10.0).

Offset	This value determines the phase offset of the waves.  Generally used when creating animation frames, changing this value from one frame to the next will cause the waves to move.  (Recommended value: 0.0 to 1.0).


Harmony

The Harmony function combines 2 waves (one on the X axis and one on the Y axis).  The waves, are combined in a dIagonal manner, allowing some interesting "pillow" effects, and even water (when combined with noise).

When used with noise, this function is not tileable.  To turn noise off, set the 'Scale' value to 0.0.  To make the noise-less image tileable, you should set both of the frequency values, Frequency 1 and Frequency 2, to whole numbers.

Frequency 1	This value sets the frequency values for the first set of waves.  (Recommended value: any whole number).

Frequency 2	This value sets the frequency values for the second set of waves.  (Recommended value: any whole number).

Noise Scale	This value sets the amount by which noise will be multiplied when fed to the wave function.  (Recommended value: 0.0 to turn off noise, or any other value to make use of noise in the image.).

Seed	Sets the noise seed value.  The same seed will produce the same noise field. (Recommended value: any whole number).

Octaves	This value sets the number of times the noise function will be called for each pixel.  Noise is fairly processor intensive, and setting this value too high will drastically slow down the image generation process.  Generally, the larger the image, the larger this value will need to be.  (Recommended value: whole numbers from 2 to 5, or perhaps 6 for extremely large images).

NScale X	This value sets the scale of the noise function on the X axis.  The larger this number, the smaller the "clumps" in the noise field will appear.  (Recommended value: any real number from .5 to 10.0).

NScale Y	This value sets the scale of the noise function on the Y `xis.  The larger this number, the smaller the "clumps" in the noise field will appear.  (Recommended value: any real number From .5 to 10.0).

Offset	This value determines the phase offset of the waves.  Generally used when creating animation frames, changing this value from one frame to the next will cause the waves to move.  (Recommended value: 0.0 to 1.0).

Mode	This setting affects how MapTrix will combine the two wave patterns.  The 'Average' mode will add the two waves together and divide by two, while the 'Modulus' mode will add the two values and reflect any values which go above 1.0.


HarmonyN
Harmony-N

The Harmony-N function calculates two wave patterns based on the noise function.

This function is not tileable.  There are two distinct "bands" to the image produced, each tied to one of the scale values.  Using 1.0 for both of the scale values will produce a dark band and a light band.  When the difference between the two scale values grows, i.e. using the values 1.0 and 1.5, the relative intensities of bands will change.

Scale 1	This value sets the scale value for the first wave, or band which, appears in the image. The higher this value is, the more detail will be created in the image.  (Recommended value: any real number).

Scale 2	This value sets the scale value for the second wave, or band, which appears in the image. The higher this value is, the more detail will be created in the image.  (Recommended value: any real number).

Seed	Sets the noise seed value.  The same seed will produce the same noise field. (Recommended value: any whole number).

Octaves	This value sets the number of times the noise function will be called for each pixel.  Noise is fairly processor intensive, and setting this value too high will drastically slow down the image generation process.  Generally, the larger the image, the larger this value will need to be.  (Recommended value: whole numbers from 2 to 5, or perhaps 6 for extremely large images).

NScale X	This value sets the scale of the noise function on the X axis.  The larger this number, the smaller the "clumps" in the noise field will appear.  (Recommended value: any real number from .5 to 10.0).

NScale Y	This value sets the scale of the noise function on the Y axis.  The larger this number, the smaller the "clumps" in the noise field will appear.  (Recommended value: any real number from .5 to 10.0).

Offset	This value determines the phase offset of the waves.  Generally used when creating animation frames, changing this value from one frame to the next will cause the waves to move.  (Recommended value: 0.0 to 1.0).

Mode	This setting affects how MapTrix will combine the two wave patterns.  The 'Average' mode will add the two waves together and divide by two, while the 'Modulus' mode will add the two values and reflect any values which go above 1.0.


Radial

The Radial function combines a number of radiating waves, creating a rippling pattern.

This function is not tileable.

# Waves	This value sets the number of waves to calculate.  The more waves generated, the longer the function will take.  (Recommended value: any positive whole number).

Wave Seed	This is the value used to seed the random number generator which determines where wave sources will be placed.  The same seed value will always generate the same pattern of waves. (Recommended value: any whole number).

Noise Scale	This value sets the amount by which noise will be multiplied when fed to the wave function.  (Recommended value: 0.0 to turn off noise, or any other value to make use of noise in the image.).

Noise Seed	Sets the noise seed value.  The same seed will produce the same noise field. (Recommended value: any whole number).

Octaves	This value sets the number of times the noise function will be called for each pixel.  Noise is fairly processor intensive, and setting this value too high will drastically slow down the image generation process.  Generally, the larger the image, the larger this value will need to be.  (Recommended value: whole numbers from 2 to 5, or perhaps 6 for extremely large images).

NScale X	This value sets the scale of the noise function on the X axis.  The larger this number, the smaller the "clumps" in the noise field will appear.  (Recommended value: any real number from .5 to 10.0).

NScale Y	This value sets the scale of the noise function on the Y axis.  The larger this number, the smaller the "clumps" in the noise field will appear.  (Recommended value: any real number from .5 to 10.0).

Freq. Scale	This value determines how many wave crests will be used in the image. (Recommended value: Any real number).

Offset	This value determines the phase offset of the waves.  Generally used when creating animation frames, changing this value from one frame to the next will cause the waves to move.  (Recommended value: 0.0 to 1.0).

Mode	This setting affects how MapTrix will combine the two wave patterns.  The 'Average' mode will add the two waves together and divide by two, while the 'Modulus' mode will add the two values and reflect any values which go above 1.0.


Flower

The Flower function computes a series of radiating rings coming from the center of the image.  You can control the height of "bumps" in the rings, which create a flower-like effect.

This function is not tileable.

Frequency 1	This value sets the number of bands in the pattern.  (Recommended value: any real number, preferably a whole number).

Frequency 2	This value sets the number of "petals", or bumps, in the image.  (Recommended value: any whole number).

Amplitude	This value sets the height of the petals, or bumps, in the image. (Recommended value: any small real number, preferably less than 1.0).

Noise Scale	This value sets the amount by which noise will be multiplied when fed to the wave function.  (Recommended value: 0.0 to turn off noise, or any other value to make use of noise in the image.).

Wave Scale	When this value is not zero, a third set of waves cause a rippling effect in the petals of the flower.  Picture a sun with wavy rays coming out of it - this value lets you set the frequency of those waves.  (Recommended value: 0.0 to turn the effot off, or any other real value).

Wave Offset	This value determines the phase offset of the waves.  Generally used when creating animation frames, changing this value from one frame to the next will cause the waves to move.  (Recommended value: 0.0 to 1.0).

Noise Seed	Sets the noise seed value.  The same seed will produce the same noise field. (Recommended value: any whole number).

Noise Seed	Sets the noise seed value.  The same seed will produce the same noise field. (Recommended value: any whole number).

Octaves	This value sets the number of times the noise function will be called for each pixel.  Noise is fairly processor intensive, and setting this value too high will drastically slow down the image generation process.  Generally, the larger the image, the larger this value will need to be.  (Recommended value: whole numbers from 2 to 5, or perhaps 6 for extremely large images).

NScale X	This value sets the scale of the noise function on the X axis.  The larger this number, the smaller the "clumps" in the noise field will appear.  (Recommended value: any real number from .5 to 10.0).

NScale Y	This value sets the scale of the noise function on the Y axis.  The larger this number, the smaller the "clumps" in the noise field will appear.  (Recommended value: any real number from .5 to 10.0).


Clouds

The Clouds function mimics clouds extending to the horizon.

This function is not tileable.

Noise Scale	(removed 4-2-95).

Noise Seed	Sets the noise seed value.  The same seed will produce the same noise field. (Recommended value: any whole number).

Octaves	This value sets the number of times the noise function will be called for each pixel.  Noise is fairly processor intensive, and setting this value too high will drastically slow down the image generation process.  Generally, the larger the image, the larger this value will need to be.  (Recommended value: whole numbers from 2 to 5, or perhaps 6 for extremely large images).

NScale X	This value sets the scale of the noise function on the X axis.  The larger this number, the smaller the "clumps" in the noise field will appear.  (Recommended value: any real number from .5 to 10.0).

NScale Y	This value sets the scale of the noise function on the Y axis.  The larger this number, the smaller the "clumps" in the noise field will appear.  (Recommended value: any real number from .5 to 10.0).

Offset	This value sets the offset of the X parameter of the noise function.  By increasing this value over a series of frames, it's possible to create the illusion of moving clouds.  (Recommended value: 0.0 for a static image, increase the value by small amounts, perhaps .01, for each frame generated).

Mode	This setting affects how MapTrix will create the clouds.  The normal mode creates a simple cloud pattern, while symmetrical clouds eminate from the center line of the image.


Fire

The Fire function mimics flickering fire by combining two noise patterns.

This function is tileable along on the X axis.

Flicker	This value sets the amount of flicker in the flames.  Larger values cause the flames to move, or flicker, back and forth, giving the flames a natural quality.  Setting this value too high causes extremely large movements in the flames and reduces the fire effect.(Recommended value: any real number from .1 to 1.0)

Noise Seed	Sets the noise seed value.  The same seed will produce the same noise field. (Recommended value: any whole number).

Octaves	This value sets the number of times the noise function will be called for each pixel.  Noise is fairly processor intensive, and setting this value too high will drastically slow down the image generation process.  Generally, the larger the image, the larger this value will need to be.  (Recommended value: whole numbers from 2 to 5, or perhaps 6 for extremely large images).

NScale X	This value sets the scale of the noise function on the X axis.  The larger this number, the smaller the "clumps" in the noise field will appear.  (Recommended value: any real number from .5 to 10.0).

NScale Y	This value sets the scale of the noise function on the Y axis.  The larger this number, the smaller the "clumps" in the noise field will appear.  (Recommended value: any real number from .5 to 10.0).

Offset	This value causes the flames to move vertically.  To produce an animated sequence you should increase this value from 0.0 to any higher number.(Recommended value: from 0.0 to 10.0 - can't be larger than 50.0)


Marble

The Marble function mimics layered marble by using noise to alter a wave pattern.

This function is not tileable.

Frequency	This value sets the frequency of the marble pattern.  The higher this value is, the bands will appear in the image.  Note: the higher this value is, the higher the Noise Scale value will need to be in order to produce an interesting marble pattern.  (Recommended value: any real number greater than zero).

Noise Scale	This value sets the amount by which noise will be multiplied when fed to the wave function.  (Recommended value: 0.0 to turn off noise, or any other value to make use of noise in the image.).

Noise Seed	Sets the noise seed value.  The same seed will produce the same noise field. (Recommended value: any whole number).

Octaves	This value sets the number of times the noise function will be called for each pixel.  Noise is fairly processor intensive, and setting this value too high will drastically slow down the image generation process.  Generally, the larger the image, the larger this value will need to be.  (Recommended value: whole numbers from 2 to 5, or perhaps 6 for extremely large images).

NScale X	This value sets the scale of the noise function on the X axis.  The larger this number, the smaller the "clumps" in the noise field will appear.  (Recommended value: any real number from .5 to 10.0).

NScale Y	This value sets the scale of the noise function on the Y axis.  The larger this number, the smaller the "clumps" in the noise field will appear.  (Recommended value: any real number from .5 to 10.0).

Offset	This value determines the phase offset of the wave.  Generally used when creating animation frames, changing this value from one frame to the next will cause the waves to move.  (Recommended value: 0.0 to 1.0).


Parkay

The Parkay function mimics a wood grain parkay floor.

This function is tileable.

Frequency 1	This value sets the frequency of the wood grain pattern in each of the parkay blocks.  The higher this value is, the tighter the grain will appear in each of the "wooden" blocks which make up the floor.

Frequency 2	This value sets the frequency of the wood grain pattern in each of the parkay Parkay blocks.  The higher this value is, the tighter the grain will appear in each of the "wooden" blocks which make up the floor.

Noise Scale	This value sets the amount by which noise will be multiplied when fed to the wave function.  (Recommended value: 0.0 to turn off noise, or any other value to make use of noise in the image.).

Noise Seed	Sets the noise seed value.  The same seed will produce the same noise field. (Recommended value: any whole number).

Octaves	This value sets the number of times the noise function will be called for each pixel.  Noise is fairly processor intensive, and setting this value too high will drastically slow down the image generation process.  Generally, the larger the image, the larger this value will need to be.  (Recommended value: whole numbers from 2 to 5, or perhaps 6 for extremely large images).

NScale X	This value sets the scale of the noise function on the X axis.  The larger this number, the smaller the "clumps" in the noise field will appear.  (Recommended value: any real number from .5 to 10.0).

NScale Y	This value sets the scale of the noise function on the Y axis.  The larger this number, the smaller the "clumps" in the noise field will appear.  (Recommended value: any real number from .5 to 10.0).

Block X	This value sets the width, in pixels, of the blocks on the X axis of the image.  (Recommended value: evenly divisible into the width of the image).

Block Y	This value sets the height, in pixels, of the blocks on the Y axis of the image.  (Recommended value: evenly divisible into the height of the image).


Swirl

This function produces a swirling pattern, with optional noise applied to the waves.

This function is not tileable.

Frequency	This value sets the number of arms in the swirl.

Twist	This parameter sets the amount by which the swirl twists.  To create a tighly wound spiral, choose a large value.  (Recommended value: 5.0 to 20.0).

Noise Scale	This value sets the amount by which noise will change the radius of the swirl.  Larger values create exploding affects.  (Recommended value: 0.0 to turn off noise, or any other value to make use of noise in the image.).

Offset	You can create animation frames by altering this offset value from one frame to the next.  (Recommended value: ranging from 0.0 to 1.0).

Noise Freq	Noise can also be used to alter the wave pattern of the arms in the spiral.  (Recommended value: 0.0 to turn off noise, or any other value to make use of noise in the image.).

Noise Seed	Sets the noise seed value.  The same seed will produce the same noise field. (Recommended value: any whole number).

Octaves	This value sets the number of times the noise function will be called for each pixel.  Noise is fairly processor intensive, and setting this value too high will drastically slow down the image generation process.  Generally, the larger the image, the larger this value will need to be.  (Recommended value: whole numbers from 2 to 5, or perhaps 6 for extremely large images).

NScale X	This value sets the scale of the noise function on the X axis.  The larger this number, the smaller the "clumps" in the noise field will appear.  (Recommended value: any real number from .5 to 10.0).

NScale Y	This value sets the scale of the noise function on the Y axis.  The larger this number, the smaller the "clumps" in the noise field will appear.  (Recommended value: any real number from .5 to 10.0).


Wood

The Wood function mimics wood grain.

This function is not tileable.

Frequency 1	This value sets the frequency of the wood grain pattern on the X axis.The higher this value is, the tighter the grain will appear.

Frequency 2	This value sets the frequency of the wood grain pattern on the Y axis.  This higer this value, the tighter the grain will appear in the vertical.  If both Frequency 1 and Frequency 2 are close in value, the grain will start to look like a cross section of a tree.

Noise Scale	This value sets the amount by which noise will be multiplied when fed to the wave function.  (Recommended value: 0.0 to turn off noise, or any other value to make use of noise in the image.).

Noise Seed	Sets the noise seed value.  The same seed will produce the same noise field. (Recommended value: any whole number).

Octaves	This value sets the number of times the noise function will be called for each pixel.  Noise is fairly processor intensive, and setting this value too high will drastically slow down the image generation process.  Generally, the larger the image, the larger this value will need to be.  (Recommended value: whole numbers from 2 to 5, or perhaps 6 for extremely large images).

NScale X	This value sets the scale of the noise function on the X axis.  The larger this number, the smaller the "clumps" in the noise field will appear.  (Recommended value: any real number from .5 to 10.0).

NScale Y	This value sets the scale of the noise function on the Y axis.  The larger this number, the smaller the "clumps" in the noise field will appear.  (Recommended value: any real number from .5 to 10.0).


Bubbles

The Bubbles function mimics Bubbles of soap.  Care must be taken with this function.  Since the random creation of new bubbles relies on the position of earlier bubbles, it's possible to lock this function up.  While generating, the function will draw red circles where each bubble will be positioned.  If you notice that no new bubbles are being created, you can press the 'Esc' key to stop the bubble creation process and continue generating the image.

This function is not tileable.

Seed	This number seeds the random number generator, which is used to place the bubbles in the image. (Recommended value: and whole number)

Count	Sets the number of bubbles to create. (Recommended value: any whole number)

Diameter	This value sets the diameter of each bubble.  Don't set this value too high, or the function will never be able to create new bubbles!(Recommended value: from .2 to .3)

Overlap	To make the bubbles appear like bubbles, they must overlap.  This value sets how much bubbles are allowed to overlap.  Good values are about 1/2 the 'Diameter' value, explained above, or less.  Smaller values will make it easier for MapTrix to create new bubbles.(Recommended value: half the value of 'Diameter', or less)


Circles

The Circles function creates non-overlapping spheres..  Care must be taken with this function.  Since the random creation of new circles relies on the position of earlier Circles, it's possible to lock this function up.  While generating, the function will draw red circles where each circle will be positioned.  If you notice that no new circles are being created, you can press the 'Esc' key to stop the circle creation process and continue generating the image.

This function is not tileable.

Seed	This number seeds the random number generator, which is used to place the Circles in the image. (Recommended value: and whole number)

Count	Sets the number of Circles to create. (Recommended value: any whole number)

Max Diam	This value sets the maximum diameter of each circle.  Don't set this value too high, or the function will never be able to create new circles!(Recommended value: from .2 to .3)

Min Diam	This value sets the minimum diameter of each circle.  Don't set this value too high, or the function will never be able to create new circles!(Recommended value: from .2 to .3)

Overlap	To make the circles appear like Circles, they must overlap.  This value sets how much circles are allowed to overlap.  Good values are about 1/2 the 'Diameter' value, explained above, or less.  Smaller values will make it easier for MapTrix to create new circles.(Recommended value: half the value of 'Diameter', or less)


Cuts

The cuts function creates a fractal image based on the concept of random "cuts".  Cuts are wide paths which span the width or height of the image.  Every pixel inside the cut is either raised or lowered by 1.  Building up one cut on top of another, the image eventually produces a fractal-like pattern.

This function produces a tileable pattern.

Seed	This number seeds the random number generator, which is used to place the cuts in the image. (Recommended value: and whole number)

Count	Sets the number of cuts to create. (Recommended value: any whole number.  You may need a large number of cuts to produce a good image)


Meander

The Meander function creates a fractal image based on "random walks".  Lines are drawn on the image where they either raise or lower the intensity of the pixel under the line.

This function is not tileable.

Seed	This number seeds the random number generator, which is used to place the meandering lines in the image. (Recommended value: and whole number)

Count	Sets the number of times to create new lines. (Recommended value: any whole number.  You may need a large number of lines to produce a good image)

Cell Count	This value sets the number of individual lines to create for each pass.(Recommended value: any whole number.  You may need a large number of lines to produce a good image)


Noiz

The Noiz function is a direct application of the fractal Noiz used throughout MapTrix.

This function is not tileable.

Seed	This number seeds the random number generator.  (Recommended value: and whole number)

Octaves	This value sets the number of times the Noiz function will be called for each pixel.  Noiz is fairly processor intensive, and setting this value too high will drastically slow down the image generation process.  Generally, the larger the image, the larger this value will need to be.  (Recommended value: whole numbers from 2 to 5, or perhaps 6 for extremely large images).

NScale X	This value sets the scale of the Noiz function on the X axis.  The larger this number, the smaller the "clumps" in the Noiz field will appear.  (Recommended value: any real number from .5 to 10.0).

NScale Y	This value sets the scale of the Noiz function on the Y axis.  The larger this number, the smaller the "clumps" in the Noiz field will appear.  (Recommended value: any real number from .5 to 10.0).

Static Scale	This value determines how much static will be added to the image.  Setting this number to 0.0 will turn the static feature off.(Recommended value: any real number from 0.0 (off) to 1.0 (full static)).


Noiz2

The Noiz2 function computes 2 Noiz values for each pixel in the image.  For this reason it is about twice as slow as the normal Noiz function.  The first Noiz value is subtracted from the middle color, while the second Noiz value is added to the middle color.  The resulting image creates a fantastic marble effect, and is great for a base image to apply other functions to, especially the image processing functions like 'Emboss' and 'Matrix3'.

This function is not tileable.

Seed	This number seeds the random number generator.  (Recommended value: and whole number)

Octaves	This value sets the number of times the Noiz2 function will be called for each pixel.  Noiz2 is fairly processor intensive, and setting this value too high will drastically slow down the image generation process.  Generally, the larger the image, the larger this value will need to be.  (Recommended value: whole numbers from 2 to 5, or perhaps 6 for extremely large images).

NScale X	This value sets the scale of the Noiz2 function on the X axis.  The larger this number, the smaller the "clumps" in the Noiz2 field will appear.  (Recommended value: any real number from .5 to 10.0).

NScale Y	This value sets the scale of the Noiz2 function on the Y axis.  The larger this number, the smaller the "clumps" in the Noiz2 field will appear.  (Recommended value: any real number from .5 to 10.0).

Power 1	Before the first color is subtracted from the middle color, it is raised to this power.  With larger values, the effect is to produce thinner, sharper impressions in the image.  Smaller values produce less sharp detail.  (Recommended value: any POSITIVE real number from 0.0 to 10.0.).

Power 2	Before the second color is added to the middle color, it is raised to this power.  With larger values, the effect is to produce thinner, sharper impressions in the image.  Smaller values produce less sharp detail.  (Recommended value: any POSITIVE real number from 0.0 to 10.0.).


Plasma

This is an implimentation of the now standard plasma effect.  You can adjust the granularity of the plasma by increasing the scale value.

This function is not tileable.

Seed	This number seeds the random number generator.  (Recommended value: and whole number)

Scale	This value sets the apparent graininess of the plasma generated.  A value of 1.0 produces a very smooth plasma effect, while larger values increase more detail to the image.(Recommended value: any POSITIVE real number from 0.0 to 10.0.).


Static

Standard static, based entirely on random numbers.  This function is useful for a base image to later apply blurs, embosses or matrix's on.

This function is not tileable.

Seed	This number seeds the random number generator used to produce the static.  (Recommended value: and whole number)


Streaks

This is a controlled random function.  The routine starts with a random number, then plots the first pixel.  Then, the value is either incrimented or decrimented, and the next pixel is plotted.  Doing so for all the pixels in the image produces a "streaky" effect.

This function is not tileable.

Seed	This number seeds the random number generator used to produce the Streaks.  (Recommended value: and whole number)

Grain	This number determines how much can be added or subtracted from the previous color value.  Higher values produce a more random image, while smaller values produce smoother transitions.(Recommended value: and whole number from 1 to 100+)

Fade	Sets the relative tendency for the color change.  Setting this value above zero cause the colors to reach the highest color quicker.  Values below zero cause the colors to reach the lowest color quicker.  Keep this value at zero to have "50/50" image, where colors are equally like to be incrimented or decrimented.(Recommended value: and number from -100 to +100)

Mode	This setting determines the direction of the lines created by the function.  Choose from Horizontal, Vertical, Diagonal 1, or Diagonal 2.


Waterfall

This function starts by setting the pixels on the bottom row of the image to random numbers.  To create the next row of pixels, the color of the 3 neighbor pixels in the previous row are averaged together and the color is either incirimented or decrimented, based on a random decision.

This function is not tileable.

Seed	This number seeds the random number generator used to produce the Waterfall.  (Recommended value: and whole number)

Grain	This number determines how much can be added or subtracted from the averaged  color value.  Higher values produce a more random image, while smaller values produce smoother transitions.(Recommended value: and whole number from 1 to 100+)

Fade	Sets the relative tendency for the color change.  Setting this value above zero cause the colors to reach the highest color quicker.  Values below zero cause the colors to reach the lowest color quicker.  Keep this value at zero to have "50/50" image, where colors are equally like to be incrimented or decrimented.(Recommended value: and number from -100 to +100)


Blur

This is a standard "blurring" function.

This function is not tileable.

Center Weight	Sets the weight of the center pixel when blurring the image.  Higher values cause less blurring to take place, while lower values cause the blurring effect to be stringer.(Recommended value: and number from -10 to 20)


Emboss

This is a standard "Emboss" function.

This function is not tileable.

Weight	Sets the strength of the embossing effect.  The higher this number, the deeper the emboss effect will appear.(Recommended value: and number from 0.0 to 10.0)


Matrix 3

This is a standard Matrix/convolution function.

This function is not tileable.

C11-C33	These values set the relative weight of each pixel included in the calculation.(Recommended value: and interger value from -10 to +10)

Rotate	This button rotates the values in the Cxx array.


Scramble

This function swaps pixels with a randomly chosen neighbor.

This function is not tileable.

Seed	Sets the seed for the random number generator.(Recommended value: and interger value)

Scale	The original pixel to be swapped is multiplied by this value, Scale.  The randomly chosen pixel is multiplied by 1.0-Scale.  When set to 1.0 this will cause 100% of the original pixel to be used for the new color.  When set to 0.0 this will cause 100% of the randomly chosen pixel to be used for the new color.(Recommended value: 0.0 to 1.0)


Trim Edges

This function cleans up the edges of the image.  Other process functions will leave the edge of the image untouched, and this can cause unsightly artifacts.  Use this function clean up the image.

This function is not tileable.

Trim X0	Set this value to 1 to have the left edge of the image trimmed.  Set this value to 0 so the left edge is untouched.

Trim Y0	Set this value to 1 to have the top edge of the image trimmed.  Set this value to 0 so the top edge is untouched.

Trim X1	Set this value to 1 to have the right edge of the image trimmed.  Set this value to 0 so the right edge is untouched.

Trim Y1	Set this value to 1 to have the bottom edge of the image trimmed.  Set this value to 0 so the bottom edge is untouched.